<?php


namespace app\models\user;


use think\facade\Db;
use think\facade\Log;
use think\Model;

class ProgramProductModel extends Model
{
    protected $name = 'program_product';

    protected $autoWriteTimestamp = true;

    protected static $exceptField = ['create_time', 'update_time'];

//    public static function onAfterUpdate($model)
//    {
//        $table = $model->getTable();
//        $columns = Db::query("SHOW COLUMNS FROM `{$table}`");
//        foreach ($columns as $column) {
//            $columnName = $column['Field'];
//            $oldValue = $model->getOrigin($columnName);
//            $newValue = $model->getData($columnName);
//            if (!in_array($columnName, self::$exceptField) && $oldValue != $newValue) {
//                FieldChangeModel::create([
//                    'field_name' => $columnName,
//                    'old_value' => $oldValue,
//                    'new_value' => $newValue,
//                    'change_time' => time(),
//                ]);
//            }
//        }
//    }
    protected function setStartTimeAttr($value)
    {
        if (!$value) {
            return 0;
        }
        return strtotime($value);
    }

    protected function getStartTimeAttr($value)
    {
        if (!$value) {
            return '';
        }
        return date('Y-m-d', $value);
    }

    protected function setEndTimeAttr($value)
    {
        if (!$value) {
            return 0;
        }
        return strtotime($value);
    }

    protected function getEndTimeAttr($value)
    {
        if (!$value) {
            return '';
        }
        return date('Y-m-d', $value);
    }

    protected function setRemarkTimeAttr($value)
    {
        if (!$value) {
            return 0;
        }
        return strtotime($value);
    }

    protected function getRemarkTimeAttr($value)
    {
        if (!$value) {
            return '';
        }
        return date('Y-m-d', $value);
    }
}